package SparkRDD.RDD算子.Transformations.过滤操作

import org.apache.spark.{SparkConf, SparkContext}
import org.junit.Test

/*
  * filter 可以过滤一部分的元素，达到数据清洗的效果
  * filter 中接受的函数，参数是每一个元素。如果函数返回的为true，就将该元素加入到新的RDD中，为false就会被过滤掉
 */
class filterTest {

  //创建SparkContext
  val conf = new SparkConf().setMaster("local[6]").setAppName("filter")
  val sc   = new SparkContext(conf)

  @Test
  def filterTest: Unit ={

    //创建数据集,利用filter清洗数据 --- 取奇数
    val source = sc.parallelize(Seq(1,2,3,4,5,6,7,8,9,10))

    //调用filter
    source.filter(item => item % 2 != 0)
          .collect()
          .foreach(item => println(item))
  }
}
